package com.eatrip.bean;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;


@Entity
@Table(name = "attrazioni")
public class Attrazione implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	
	@Id
	@Column(name = "id_attrazione")
	@GeneratedValue
	private int idAttrazione;
	
	@ManyToOne(cascade = CascadeType.REMOVE)
	@JoinColumn(name = "id_comune")
	private Comune comune;
	 
	@Column(name = "nome")
	private String nome;
	
	@Column(name = "descrizione")
	private String descrizione;
	
	@Column(name = "data_inizio")
	private Date dataInizio;
	
	@Column(name = "data_fine")
	private Date dataFine;
	
	//@Column(name = "id_frequenza")
	@OneToOne
	@JoinColumn(name = "id_frequenza")
	private Frequenza frequenza;
	
	@Column(name = "prezzo")
	private String prezzo;

	public int getIdAttrazione() {
		return idAttrazione;
	}

	public void setIdAttrazione(int idAttrazione) {
		this.idAttrazione = idAttrazione;
	}
	
	public Comune getComune() {
		return comune;
	}

	public void setComune(Comune comune) {
		this.comune = comune;
	}

	public Frequenza getFrequenza() {
		return frequenza;
	}

	public void setFrequenza(Frequenza frequenza) {
		this.frequenza = frequenza;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getDescrizione() {
		return descrizione;
	}

	public void setDescrizione(String descrizione) {
		this.descrizione = descrizione;
	}

	public Date getDataInizio() {
		return dataInizio;
	}

	public void setDataInizio(Date dataInizio) {
		this.dataInizio = dataInizio;
	}

	public Date getDataFine() {
		return dataFine;
	}

	public void setDataFine(Date dataFine) {
		this.dataFine = dataFine;
	}

	public String getPrezzo() {
		return prezzo;
	}

	public void setPrezzo(String prezzo) {
		this.prezzo = prezzo;
	}

	@Override
	public String toString() {
		return "Attrazione [idAttrazione=" + idAttrazione + ", comune="
				+ comune + ", nome=" + nome + ", descrizione=" + descrizione
				+ ", dataInizio=" + dataInizio + ", dataFine=" + dataFine
				+ ", frequenza=" + frequenza + ", prezzo=" + prezzo + "]";
	}

	
}
